
export default {
  install(Vue, options) {
    Vue.directive('hasPermission', {
      bind(el, binding, vnode) {
        // 获取按钮权限列表buttonList，buttonList包含的按钮是没有权限访问的，界面需要删除对应按钮。
        const permissionList = vnode.context.$route.meta.buttonList;
        Vue.nextTick(_ => {
          if (permissionList && permissionList.length) {
            const value = binding.value;
            const hasPermission = permissionList.map(v => v.buttoncode).includes(value);
            // 没有权限的按钮--删除
            if (!hasPermission) {
              el.remove();
            }
            // 一个全选都没有--删除
          } else {
            el.remove();
          }
        });
      }
    });
  }
};

